package com.codejoys.ssm.service;

import com.codejoys.ssm.domain.Thesis;

public interface ThesisService {
    /**
     * 老师创建一个课题
     *
     * @param thesis-添加的课题对象
     */
    void insert(Thesis thesis);

    /**
     * 更新课题
     * @param thesis
     */
    void update(Thesis thesis);

    /**
     * 删除课题
     *
     * 不做物理删除，而是逻辑删除
     * 课题如果被学生选了，不能删除
     * 删除的过程中，学生不能选(数据库加锁)
     * 安全：一个老师不能删除其它老师的课题。
     *
     * @param tid -课题id
     */
    void delete(Integer tid);


    /**
     * 学生选课，报名某个课题的毕业设计
     * @param studentId -- 学生id
     * @param thesisId  --课程id
     */

   void chooseThesis(Long studentId,Integer thesisId);

    /**
     * 选定学生（老师）
     * @param thesisId
     * @param studentId
     */
   void chooseStudent(Integer thesisId,Long studentId);
}
